package com.inei.cenacom.model.dao;

import java.util.ArrayList;
import java.util.List;

import android.content.Context;

import com.inei.cenacom.model.entity.Login;
import com.inei.cenacom.model.entity.Marco;

public class MarcoDao extends ACRUD<Marco> {

	public MarcoDao(Context context) {
		super(context);
	}

	@Override
	public List<Marco> leerTodo(){ 
		List<Marco> lista = null;
		db = util.getReadableDatabase();
		c= db.rawQuery("Select * from Marco", null);
		if(c.moveToFirst()){
			lista = new ArrayList<Marco>();
			int id_n = c.getColumnIndex("ID_N");
			int ubigeo = c.getColumnIndex("UBIGEO");
			int ccdd = c.getColumnIndex("CCDD");
			int nombredd = c.getColumnIndex("NOMBREDD");
			int ccpp = c.getColumnIndex("CCPP");
			int nombrepp = c.getColumnIndex("NOMBREPP");
			int ccdi = c.getColumnIndex("CCDI");
			int nombredi = c.getColumnIndex("NOMBREDI");
			int zona = c.getColumnIndex("ZONA");
			int zonalf = c.getColumnIndex("ZONALF");
			int manzana = c.getColumnIndex("MANZANA");
			int mznalf = c.getColumnIndex("MZNALF");
			int aer_ini = c.getColumnIndex("AER_INI");
			int aer_fin = c.getColumnIndex("AER_FIN");
			int dep_asig = c.getColumnIndex("DEP_ASIG");
			int registrador = c.getColumnIndex("REGISTRADOR");
			
			do{
				Marco o = new Marco();
				o.setID_N(c.getString(id_n));
				o.setUBIGEO(c.getString(ubigeo));
				o.setCCDD(c.getString(ccdd));
				o.setNOMBREDD(c.getString(nombredd));
				o.setCCPP(c.getString(ccpp));
				o.setNOMBREPP(c.getString(nombrepp));
				o.setCCDI(c.getString(ccdi));
				o.setNOMBREDI(c.getString(nombredi));
				o.setZONA(c.getString(zona));
				o.setZONALF(c.getString(zonalf));
				o.setMANZANA(c.getString(manzana));
				o.setMZNALF(c.getString(mznalf));
				o.setAER_INI(c.getString(aer_ini));
				o.setAER_FIN(c.getString(aer_fin));
				o.setDEP_ASIG(c.getString(dep_asig));
				o.setREGISTRADOR(c.getString(registrador));
				lista.add(o);
			}while(c.moveToNext());
		}
		cerrar();
		return lista;
	}

	@Override
	public List<Marco> leer(String id,int anio) {
		// TODO Auto-generated method stub
		return null;
	}
	
	public List<Marco> leer(Login login) {
		List<Marco> lista = null;
		db = util.getReadableDatabase();
		if(login.getUSUARIO().equalsIgnoreCase("JEFE DE VERIFICACION")){
			c= db.rawQuery("Select * from Marco where DEP_ASIG=?", new String[]{login.getDEP_ASIG()});
		}else{
			c= db.rawQuery("Select * from Marco where DEP_ASIG=? and REGISTRADOR=?", new String[]{login.getDEP_ASIG(),login.getUSUARIO()});
		}
		if(c.moveToFirst()){
			lista = new ArrayList<Marco>();
			int id_n = c.getColumnIndex("ID_N");
			int ubigeo = c.getColumnIndex("UBIGEO");
			int ccdd = c.getColumnIndex("CCDD");
			int nombredd = c.getColumnIndex("NOMBREDD");
			int ccpp = c.getColumnIndex("CCPP");
			int nombrepp = c.getColumnIndex("NOMBREPP");
			int ccdi = c.getColumnIndex("CCDI");
			int nombredi = c.getColumnIndex("NOMBREDI");
			int zona = c.getColumnIndex("ZONA");
			int zonalf = c.getColumnIndex("ZONALF");
			int manzana = c.getColumnIndex("MANZANA");
			int mznalf = c.getColumnIndex("MZNALF");
			int aer_ini = c.getColumnIndex("AER_INI");
			int aer_fin = c.getColumnIndex("AER_FIN");
			int dep_asig = c.getColumnIndex("DEP_ASIG");
			int registrador = c.getColumnIndex("REGISTRADOR");
			
			do{
				Marco o = new Marco();
				o.setID_N(c.getString(id_n));
				o.setUBIGEO(c.getString(ubigeo));
				o.setCCDD(c.getString(ccdd));
				o.setNOMBREDD(c.getString(nombredd));
				o.setCCPP(c.getString(ccpp));
				o.setNOMBREPP(c.getString(nombrepp));
				o.setCCDI(c.getString(ccdi));
				o.setNOMBREDI(c.getString(nombredi));
				o.setZONA(c.getString(zona));
				o.setZONALF(c.getString(zonalf));
				o.setMANZANA(c.getString(manzana));
				o.setMZNALF(c.getString(mznalf));
				o.setAER_INI(c.getString(aer_ini));
				o.setAER_FIN(c.getString(aer_fin));
				o.setDEP_ASIG(c.getString(dep_asig));
				o.setREGISTRADOR(c.getString(registrador));
				lista.add(o);
			}while(c.moveToNext());
		}
		cerrar();
		return lista;
	}

	@Override
	public Marco buscar(Marco o) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public int crear(Marco o) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int actualizar(Marco o) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int eliminar(Marco o) {
		// TODO Auto-generated method stub
		return 0;
	}
}
